```scala !!
object Main {
  def factorial(n: Int): Int = {
    if (n == 0) {
      return 1
    } else {
      return n * factorial(n - 1)
    }
  }
}
```

```python !!
def factorial(n):
    if n == 0:
        return 1
    else:
        return n * factorial(n - 1)
```
